package com.it.water.utils;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Component;

/**
 * @author yjh
 * @version 1.0
 * @since 2024-03-23
 */
@Component
public class SendEmailUtil {

    /**
     * 发送方邮箱地址
     */
    @Value("${spring.mail.from}")
    private String from;

    /**
     * 邮件发送工具类
     * 依赖于JavaMailSender来发送邮件
     */
    private final JavaMailSender mailSender;

    /**
     * 构造函数
     *
     * @param mailSender JavaMailSender实例，用于发送邮件
     */
    @Autowired
    public SendEmailUtil(JavaMailSender mailSender) {
        this.mailSender = mailSender;
    }

    /**
     * 发送纯文本邮件信息
     *
     * @param to      接收邮件的地址
     * @param subject 邮件的主题
     * @param content 邮件的正文内容
     */
    public void sendMessage(String to, String subject, String content) {
        // 创建简单的邮件消息对象
        SimpleMailMessage msg = new SimpleMailMessage();
        // 设置发件人
        msg.setFrom(from);
        // 设置收件人
        msg.setTo(to);
        // 设置邮件主题
        msg.setSubject(subject);
        // 设置邮件内容
        msg.setText(content);
        // 使用JavaMailSender发送邮件
        mailSender.send(msg);
    }
}
